package com.tianyu.inspection.mapper;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.tianyu.inspection.entity.Danger;
import com.tianyu.inspection.entity.DangerProcess;
import com.tianyu.inspection.entity.model.DangerQueryMo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.ui.ModelMap;

import java.util.List;

/**********************************
 * @Author YSW
 * @Description 险情数据接口
 * @Date 2021/1/12 - 11:55
 **********************************/

@Mapper
public interface DangerMapper extends BaseMapper<Danger> {

    /**
     * 分页查询险情并获取对应的险情类型
     * @param queryMo 查询参数
     * @return
     */
    List<ModelMap> selectDangerAndDangerTypeList(DangerQueryMo queryMo);

    /**
     * 分页查询险情并获取对应的险情类型
     * @param queryMo 查询参数
     * @return
     */
    List<ModelMap> selectPatrolDangerAndDangerTypeList(DangerQueryMo queryMo);

    /**
     * 分页查询险情并获取对应的险情类型
     * @param page 查询参数
     * @return
     */
    IPage<JSONObject> selectPatrolDangerAndDangerTypeList2(IPage<?> page,
                                                           Integer projectId,
                                                           Integer inspectorId,
                                                           Integer dangerTypeId,
                                                           Integer status,
                                                           JSONArray multiStatus);

    /**
     * 批量插入
     * @param dangerProcess 险情处理列表
     * @return 插入成功数量
     */
    ModelMap selectPatrolDangerAndDangerTypeOne(DangerProcess dangerProcess);

    /**
     * 分页查询险情并获取对应的险情类型
     * @param queryMo 查询参数
     * @return
     */
    Integer selectPatrolDangerCount(DangerQueryMo queryMo);

}
